더블 버퍼링

최근 수정 시각: (5년 전)
double buffering


주로 컴퓨터 그래픽에서 사용되는 용어로서, 비디오 메모리만을 사용한 싱글 버퍼링으로 그래픽을 그릴 경우 데이터를 저장하는 동안에는 다음 그림의 데이터를 전송할 수 없기 때문에 지우고 그리고 지우고 그리고 할 경우 필연적으로 발생하는 깜빡임, 찢어짐 등의 상황을 막기 위해서 사용되는 기법이다.

싱글 버퍼링은 비디오 메모리(프론트 버퍼)만을 사용하는데 반하여, 예비 버퍼(백 버퍼)를 두어 먼저 버퍼2에 그림을 보내고 그것을 다시 버퍼1로 보낸 다음 버퍼 1의 데이터를 처리하는 동안 다시 버퍼 2에 그림을 보내면 데이터의 전송과 처리가 막히는 일이 없어져서 깜빡임 현상이 사라지게 되는 것이다.

그래서 비단 게임 뿐만이 아니라 그림을 띄워야 하는 프로그래밍을 해야 할 경우에는 반드시 더블버퍼링 API를 찾아보고 적용하는 일이 필요하다.

단 이 더블 버퍼링도 만능은 아니어서, 만약 그리기 연산의 처리에 지연이 생긴다면 프론트 버퍼에 남아있는 그림이 계속 보이게 되어 화면이 밀리는 현상이 나오게 된다. 그래서 이를 해결하기 위해 애당초 그림을 널찍하게 그리는 수직동기화 방법과 백버퍼를 하나 더 추가하여 백버퍼의 데이터를 교대로 받아오는 삼중버퍼링 기법이 생겨나게 되었다.

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.